1. Field of the Invention
The present invention relates to a domain name system (DNS) inquiry method capable of obtaining an appropriate response at high speed in a situation in which an inquiry must be made to a tree formed of a plurality of DNS servers due to relocation, disconnection of a line, etc., in a host which uses a DNS on the Internet.
2. Description of the Related Art
In recent years, use of the computer network, the “Internet”, has spread worldwide. New computer businesses have been developed using information and services which are made publicly available as a result of connection with the Internet, and conversely, by providing information and services to outside users by access via the Internet. Also, regarding Internet uses, new technological developments and expansions have occurred.
On the Internet, each computer has an identifier called an “IP address”, and packets are exchanged on the basis of these IP addresses. However, an IP address is a string of numbers, and it is difficult for human beings to remember such a string of numbers; nonetheless, in order to access the computer through the Internet, the IP address must be specified. In order to solve this problem, a domain name system (DNS) has been devised. The DNS is a kind of database system, and one of the functions thereof is to mutually convert an IP address, which is a string of numbers, into a fully qualified domain name (FQDN), which is easy for human beings to remember. That is, this is equivalent to an action of searching for an IP address corresponding to the FQDN in a database system for a DNS. An application which uses the Internet usually uses this DNS so as to convert a host name (this is usually an FQDN), which is input by a user, into an IP address, and to send data packets to the target site on the Internet.
The DNS is from one point of view a distributed database. It is impossible to manage all the hosts on the Internet by one database system. For this reason, the DNS takes the form of a distributed database having a tree structure. Each DNS server generally has the following three pieces of information.
(1) Information about the server serving as a root
(2) All the data of a specific domain
(3) Information about the set of server to which a server itself has transferred authority, and transferred domain name
An FQDN is an example of a name space having a tree structure which is divided by dots(.), for example, as in “foo.bar.com”. This is a tree “.com bar foo” with the “.” being the root. A leaf of a normal tree is a host name, and the other portions are called “domain mates”. If a domain name “bar.com” is present on the Internet, a DNS server, which is informed of everything about the domain “bar.com”, is present on the Internet.
Next, the manner in which the conversion between the domain name and the IP address is performed specifically in practice is described briefly. A DNS server which is located on the Internet in a distributed manner receives a request to convert “foo.bar.com” into an IP address from a computer which is a client. At this time, if the DNS server itself (let us assume that this is called “server A”) receiving the request has all the data of “bar.com”, the DNS server returns the converted result thereby. However, otherwise, the DNS server makes an inquiry to the root server. Since the root server does not have data for “bar.com”, but is informed of the server which has transferred the authority of the “com” which is a branch of the tree, the root server informs the server of the server A. The server A makes an inquiry to the DNS server of “com”. Since the DNS server “com” does not have the data of “bar.com”, but is informed of the server which has transferred the authority of the “bar.com” which is a branch of the tree, the DNS server informs the server of the server A. The server A makes an inquiry to the DNS server “bar.com”. Since the server “bar.com” has all the data about “bar.com”, it is possible to convert “foo.bar.com” into an IP address. This response is returned to the server A. The server A sends this response to the client.
In the manner as described above, since the DNS performs a search by searching the tree structure, even if an inquiry is made to any DNS server on the Internet, it is possible to always obtain the same response. Based on this premise, at the present time, a mobile computer is informed of a DNS server at the nearest location, and the DNS server is used.
However, this ensuring that “the same response can be obtained” is based on the precondition that the tree formed of DNS servers is unique on the Internet. However, in recent years, with the proliferation of firewalls, there are cases in which a DNS server tree which is independent within a firewall is constructed. Also, in SOHOs (Small Office, Home Office), etc., there are cases in which, connection to the Internet is intermittent, and in a network therewithin, there are cases in which an independent root server is provided.
In a case where a plurality of root servers are present in this manner, that is, a plurality of trees of DNS servers are present, in the case of a mobile computer, even if a nearby DNS server is simply notified, the response varies depending on the tree to which that server belongs, presenting a problem. Specifically, if an FQDN is present in a certain tree and is inquired about a name server of a different tree, the response that will be returned is that such a host is not present.
There is also a system which makes inquiries to a plurality of DNS servers, and this method is a method in which inquiries are made in sequence until a server, from which a correct response is obtained, is encountered as a protocol of the DNS. In this method, since a correct response of “not found” can be obtained in a protocol of the DNS, there is a problem in that even if a plurality of DNS servers in respectively different trees are set, the response differs from the resulting determined response.
As described above, in the conventional method, in a case where there are a plurality of trees in which DNS servers are formed, the DNS server to which an inquiry should be made is unclear, and a desired response cannot be obtained.